package org.lld.im.service.friendship.service;

import org.lld.im.common.ResponseVO;
import org.lld.im.common.model.RequestBase;
import org.lld.im.common.model.SyncReq;
import org.lld.im.service.friendship.model.req.*;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author: LunBoWang
 * @description: 好友关系相关接口
 * @date: 2025/3/14 下午4:45
 * @version: 1.0
 */

public interface ImFriendShipService {
    public ResponseVO importFriendShip(ImportFriendShipReq req);

    public ResponseVO addFriend(AddFriendReq req);

    public ResponseVO updateFriend(UpdateFriendReq req);

    public ResponseVO deleteFriend(DeleteFriendReq req);

    public ResponseVO deleteAllFriend(DeleteAllFriendReq req);

    public ResponseVO getAllFriendShip(GetAllFriendShipReq req);

    public ResponseVO getRelationg(GetRelationReq req);

    public ResponseVO checkFriendShip(CheckFriendShipReq req);

    public ResponseVO addBlack(AddFriendShipBlackReq req);

    public ResponseVO deleteBlack(DeleteBlackReq req);

    public ResponseVO checkBlack(CheckFriendShipReq req);

    public ResponseVO doAddFriend(RequestBase requestBase, String fromId, FriendDTO dto, Integer appId);

    public ResponseVO syncFriendshipList(SyncReq req);

    public List<String> getAllFriendId(String userId, Integer appId);
}
